package com.nineclock.api.system;

import com.nineclock.common.entity.Result;
import com.nineclock.system.dto.*;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @Package: com.nineclock.api.system
 * @ClassName: SysCompanyControllerApi
 * @Author: 小康
 * @CreateTime: 2021-06-10 17:05
 * @Description: 企业设置--- 信息、管理员
 */
@Api(value = "企业管理",tags = "系统管理")
public interface SysCompanyControllerApi {

    @ApiOperation(value = "查询当前企业信息")
    public Result<SysCompanyDTO> queryCompanyInfo();

    @ApiOperation(value = "上传企业的Logo")
    public Result<String> uploadCompanyLogo(MultipartFile file) throws IOException;

    @ApiOperation(value = "更新当前企业的基本信息")
    public Result updateCompanyInfo(SysCompanyDTO sysCompanyDTO);
    @ApiOperation(value = "获取企业当前主管理员")
    public Result<SysCompanyUserDTO> getCurrentAdmin();

    @ApiOperation(value="更改系统管理员")
    public Result changeSysAdmin(SysChangeMainManagerDTO sysChangeMainManagerDTO);

    @ApiOperation(value = "根据企业的关键字名称查询企业列表")
    public Result<List<SysCompanyDTO>> queryCompanyByName(String keyword);

    @ApiOperation(value = "申请加入企业")
    public Result applyJoinCompany(SysApplyJoinCompanyUserDTO sysApplyJoinCompanyUserDTO);
    @ApiOperation(value = "审核加入企业")
    public Result allowedJoinCompany(SysAllowedJoinCompanyUserDTO sysAllowedJoinCompanyUserDTO);

    @ApiOperation(value = "根据系统用户id查询企业列表")
    public Result<List<SysCompanyDTO>> queryCompanyList(Long userId);
}
